package com.xyy.ec.pop.api.kingdinggmp.service;


import com.xyy.ec.pop.api.kingdinggmp.dto.erp.ErpSkuInfoDto;
import com.xyy.ec.pop.api.kingdinggmp.dto.erp.GmpCustomerDto;
import com.xyy.ec.pop.api.kingdinggmp.dto.erp.GmpStockDto;
import com.xyy.ec.pop.api.kingdinggmp.dto.pop.*;

import java.util.List;
import java.util.Map;

public interface KingDingService {

    /**
     * 根据编码查询金蝶库存
     *
     * @param erpCodes 商品编码 code1,code2
     * @return 库存信息
     */
    List<GmpStockDto> queryGmpStock(String erpCodes, String syncWarehouse);

    /**
     * 查询金蝶客户列表
     *
     * @param isFullSync 是否全量
     * @return 客户信息结果
     */
    List<GmpCustomerDto> queryGmpCustomer(Boolean isFullSync);

    /**
     * 金蝶客户导入
     *
     * @param popCustomers   pop客户信息
     * @param customerCfgMap pop客户信息配置
     * @return
     */
    List<SellerCustomerCallBackDto> saveCustomer(List<PlatformCustomerDto> popCustomers, Map<String, String> customerCfgMap);

    /**
     * 查询金蝶商品信息
     *
     * @param customerCfgMap 条件参数
     * @return 商品信息
     */
    List<ErpSkuInfoDto> queryErpSkuInfo(Map<String, String> customerCfgMap);

    List<ErpSkuInfoDto> queryErpSkuPriceInfo(String erpCodes);

    ErpSkuInfoDto queryErpSkuInfo(String erpCode);

    List<SellerOrderCallBackDto> saveOrderInfo(List<SellerOrderInfoDto> orderInfoList, Map<String, String> orderConfig);

    List<SellerOrderDeliverDetailForErpDto> queryOutOrderList(String order);
}
